package cse333;

import cse333.models.User;
import cse333.models.UserType;
import cse333.panels.ApplicationReviewPanel;
import cse333.panels.LoginPanel;
import cse333.panels.ReviewerMainPanel;
import cse333.panels.ScholarshipViewPanel;
import cse333.panels.SearchScholarshipPanel;
import cse333.panels.StudentMainPanel;
import cse333.panels.StudentScholarshipsPanel;
import cse333.panels.StudentSignUpPanel;
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.AdjustmentEvent;
import java.awt.event.AdjustmentListener;
import java.util.ArrayList;
import javax.sound.midi.SysexMessage;
import javax.swing.JButton;

public class MainFrame extends javax.swing.JFrame {
    
    private ArrayList<SwitchablePanel> panels = new ArrayList<SwitchablePanel>();
    private User currentUser;
    
    private PanelSwitcher pc = new PanelSwitcher() {

        @Override
        public void switchToPanel(Class newPanel, Object o) {
            for (SwitchablePanel p : panels) {
                if (p.getClass().equals(newPanel)) {
                    // Change Panels
                    mainPanel.removeAll();
                    GridBagConstraints gbc = new GridBagConstraints();
                    gbc.fill = GridBagConstraints.HORIZONTAL;
                    gbc.weightx = 1.0;
                    gbc.weighty = 1.0;
                    gbc.anchor = GridBagConstraints.NORTH;
                    mainPanel.add(p, gbc);
                    p.onSwitch();
                    p.sendData(o);
                    pack();
                    mainPanel.invalidate();
                    mainPanel.repaint();
                    break;
                }
            }
        }

        @Override
        public void switchInterfaceTo(User u) {
            currentUser = u;
            refreshUser();
        }
    };

    /**
     * Creates new form MainFrame
     */
    public MainFrame() {
        initComponents();
        panels.add(new SearchScholarshipPanel(pc));
        panels.add(new StudentSignUpPanel(pc));
        panels.add(new StudentMainPanel(pc));
        panels.add(new LoginPanel(pc));
        panels.add(new StudentScholarshipsPanel(pc));
        panels.add(new ScholarshipViewPanel(pc));
        panels.add(new ReviewerMainPanel(pc));
        panels.add(new ApplicationReviewPanel(pc));
        pc.switchToPanel(SearchScholarshipPanel.class, null);
        
        final Toolkit toolkit = Toolkit.getDefaultToolkit();
	final Dimension screenSize = toolkit.getScreenSize();
        screenSize.height -= 100;
        setPreferredSize(screenSize);
        pack();
        refreshUser();
    }
    
    

    private void refreshUser() {
        if (currentUser == null) {
            switchToNoUser();
        } else if (currentUser.getType() == UserType.USER) {
            switchToStudent();
        } else if (currentUser.getType() == UserType.REVIEWER) {
            switchToReviewer();
        } else if (currentUser.getType() == UserType.ADMIN) {
            //switchTo
        }
        loginPanel.invalidate();
        loginPanel.repaint();
        menuButtonsPanel.invalidate();
        menuButtonsPanel.repaint();
    }
    
    private void switchToReviewer() {
        // Refresh Top Bar
        welcomeLabel.setText("Welcome back, " + currentUser.getName());
        topButton1.setText("Logout");
        for (int i = 0 ; i < topButton1.getActionListeners().length ; i++)
            topButton1.removeActionListener(topButton1.getActionListeners()[i]);
        topButton1.addActionListener(new java.awt.event.ActionListener() {
            @Override
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                pc.switchToPanel(SearchScholarshipPanel.class, null);
                pc.switchInterfaceTo(null);
            }
        });

        topButton2.setVisible(false);

        // Refresh Menu
        menuButtonsPanel.removeAll();
        jButton1 = new JButton();
        jButton1.setBackground(new java.awt.Color(204, 102, 0));
        jButton1.setForeground(new java.awt.Color(255, 255, 255));
        jButton1.setText("My Account");
        jButton1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(204, 204, 204)));
        jButton1.setMaximumSize(new java.awt.Dimension(100, 29));
        jButton1.setOpaque(true);
        GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.ipady = 10;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.insets = new java.awt.Insets(5, 10, 5, 10);
        menuButtonsPanel.add(jButton1, gridBagConstraints);

        jButton1 = new JButton();
        jButton1.setBackground(new java.awt.Color(204, 102, 0));
        jButton1.setForeground(new java.awt.Color(255, 255, 255));
        jButton1.setText("Applications");
        jButton1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(204, 204, 204)));
        jButton1.setMaximumSize(new java.awt.Dimension(100, 29));
        jButton1.setOpaque(true);
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.ipady = 10;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.insets = new java.awt.Insets(5, 10, 5, 10);
        jButton1.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent e) {
                pc.switchToPanel(ReviewerMainPanel.class, null);
            }
        });
        menuButtonsPanel.add(jButton1, gridBagConstraints);
        
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridy = 100;
        gridBagConstraints.weighty = 1.0;
        menuButtonsPanel.add(filler1, gridBagConstraints);
    }
    
    private void switchToStudent() {
        // Refresh Top Bar
        welcomeLabel.setText("Welcome back, " + currentUser.getName());
        for (int i = 0 ; i < topButton1.getActionListeners().length ; i++)
            topButton1.removeActionListener(topButton1.getActionListeners()[i]);
        topButton1.setText("Logout");
        topButton1.addActionListener(new java.awt.event.ActionListener() {
            @Override
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                pc.switchToPanel(SearchScholarshipPanel.class, null);
                pc.switchInterfaceTo(null);
            }
        });

        topButton2.setVisible(false);

        // Refresh Menu
        menuButtonsPanel.removeAll();
        jButton1 = new JButton();
        jButton1.setBackground(new java.awt.Color(204, 102, 0));
        jButton1.setForeground(new java.awt.Color(255, 255, 255));
        jButton1.setText("My Account");
        jButton1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(204, 204, 204)));
        jButton1.setMaximumSize(new java.awt.Dimension(100, 29));
        jButton1.setOpaque(true);
        GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.ipady = 10;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.insets = new java.awt.Insets(5, 10, 5, 10);
        menuButtonsPanel.add(jButton1, gridBagConstraints);

        jButton1 = new JButton();
        jButton1.setBackground(new java.awt.Color(204, 102, 0));
        jButton1.setForeground(new java.awt.Color(255, 255, 255));
        jButton1.setText("My Scholarships");
        jButton1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(204, 204, 204)));
        jButton1.setMaximumSize(new java.awt.Dimension(100, 29));
        jButton1.setOpaque(true);
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.ipady = 10;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.insets = new java.awt.Insets(5, 10, 5, 10);
        jButton1.addActionListener(new ActionListener() {

            @Override
            public void actionPerformed(ActionEvent ae) {
                pc.switchToPanel(StudentScholarshipsPanel.class, null);
            }
        });
        menuButtonsPanel.add(jButton1, gridBagConstraints);
        
        jButton1 = new JButton();
        jButton1.setBackground(new java.awt.Color(204, 102, 0));
        jButton1.setForeground(new java.awt.Color(255, 255, 255));
        jButton1.setText("Find Scholarships");
        jButton1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(204, 204, 204)));
        jButton1.setMaximumSize(new java.awt.Dimension(100, 29));
        jButton1.setOpaque(true);
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.ipady = 10;
        gridBagConstraints.gridy = 3;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.insets = new java.awt.Insets(5, 10, 5, 10);
        jButton1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                pc.switchToPanel(StudentMainPanel.class, null);
            }
        });
        menuButtonsPanel.add(jButton1, gridBagConstraints);
        
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridy = 100;
        gridBagConstraints.weighty = 1.0;
        menuButtonsPanel.add(filler1, gridBagConstraints);
    };
    
    private void switchToNoUser() {
        // Refresh Top Bar
        welcomeLabel.setText("Welcome!");
        for (int i = 0 ; i < topButton1.getActionListeners().length ; i++)
            topButton1.removeActionListener(topButton1.getActionListeners()[i]);
        topButton1.setText("Sign Up");
        topButton1.addActionListener(new java.awt.event.ActionListener() {
            @Override
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                pc.switchToPanel(StudentSignUpPanel.class, null);
            }
        });
        welcomeLabel.setVisible(true);
        topButton1.setVisible(true);
        
        for (int i = 0 ; i < topButton2.getActionListeners().length ; i++)
            topButton2.removeActionListener(topButton2.getActionListeners()[i]);
        topButton2.setText("Login");
        topButton2.addActionListener(new java.awt.event.ActionListener() {
            @Override
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                pc.switchToPanel(LoginPanel.class, null);
            }
        });
        topButton2.setVisible(true);


        // Refresh Menu
        menuButtonsPanel.removeAll();
        jButton1 = new JButton();
        jButton1.setBackground(new java.awt.Color(204, 102, 0));
        jButton1.setForeground(new java.awt.Color(255, 255, 255));
        jButton1.setText("Scholarships");
        jButton1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(204, 204, 204)));
        jButton1.setMaximumSize(new java.awt.Dimension(100, 29));
        jButton1.setOpaque(true);
        GridBagConstraints gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.ipady = 10;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.insets = new java.awt.Insets(5, 10, 5, 10);
        jButton1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent ae) {
                pc.switchToPanel(SearchScholarshipPanel.class, null);
            }
        });
        
        menuButtonsPanel.add(jButton1, gridBagConstraints);
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridy = 100;
        gridBagConstraints.weighty = 1.0;
        menuButtonsPanel.add(filler1, gridBagConstraints);
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {
        java.awt.GridBagConstraints gridBagConstraints;

        menuPanel = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        menuButtonsPanel = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0));
        scrollPane = new javax.swing.JScrollPane();
        mainPanel = new javax.swing.JPanel();
        loginPanel = new javax.swing.JPanel();
        welcomeLabel = new javax.swing.JLabel();
        topButton1 = new javax.swing.JButton();
        topButton2 = new javax.swing.JButton();
        logoPanel = new javax.swing.JPanel();
        filler2 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 32767));
        logoButton = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Scholarship System");
        getContentPane().setLayout(new java.awt.GridBagLayout());

        menuPanel.setBackground(new java.awt.Color(0, 0, 0));
        menuPanel.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        menuPanel.setForeground(new java.awt.Color(255, 255, 255));
        menuPanel.setMaximumSize(new java.awt.Dimension(1000, 32767));
        menuPanel.setMinimumSize(new java.awt.Dimension(100, 28));
        menuPanel.setLayout(new java.awt.GridBagLayout());

        jLabel1.setBackground(new java.awt.Color(255, 255, 255));
        jLabel1.setForeground(new java.awt.Color(255, 255, 255));
        jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel1.setText("Menu");
        jLabel1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.ipady = 10;
        gridBagConstraints.weightx = 1.0;
        menuPanel.add(jLabel1, gridBagConstraints);

        menuButtonsPanel.setBackground(new java.awt.Color(0, 0, 0));
        menuButtonsPanel.setLayout(new java.awt.GridBagLayout());

        jButton1.setBackground(new java.awt.Color(204, 102, 0));
        jButton1.setForeground(new java.awt.Color(255, 255, 255));
        jButton1.setText("Menu Item 1");
        jButton1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(204, 204, 204)));
        jButton1.setContentAreaFilled(false);
        jButton1.setMaximumSize(new java.awt.Dimension(100, 29));
        jButton1.setOpaque(true);
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.ipady = 10;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.insets = new java.awt.Insets(5, 10, 5, 10);
        menuButtonsPanel.add(jButton1, gridBagConstraints);

        jButton2.setBackground(new java.awt.Color(204, 102, 0));
        jButton2.setForeground(new java.awt.Color(255, 255, 255));
        jButton2.setText("Menu Item 2");
        jButton2.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(204, 204, 204), 1, true));
        jButton2.setContentAreaFilled(false);
        jButton2.setOpaque(true);
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridy = 3;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.ipady = 10;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.insets = new java.awt.Insets(5, 10, 5, 10);
        menuButtonsPanel.add(jButton2, gridBagConstraints);
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridy = 100;
        gridBagConstraints.weighty = 1.0;
        menuButtonsPanel.add(filler1, gridBagConstraints);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridy = 2;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.weighty = 1.0;
        menuPanel.add(menuButtonsPanel, gridBagConstraints);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
        gridBagConstraints.ipadx = 100;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
        gridBagConstraints.weighty = 1.0;
        getContentPane().add(menuPanel, gridBagConstraints);

        scrollPane.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        scrollPane.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        scrollPane.addInputMethodListener(new java.awt.event.InputMethodListener() {
            public void caretPositionChanged(java.awt.event.InputMethodEvent evt) {
                scrollPaneCaretPositionChanged(evt);
            }
            public void inputMethodTextChanged(java.awt.event.InputMethodEvent evt) {
            }
        });
        scrollPane.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener() {

            @Override
            public void adjustmentValueChanged(AdjustmentEvent ae) {
                mainPanel.invalidate();
                mainPanel.repaint();
            }

        });

        mainPanel.setBackground(new java.awt.Color(0, 0, 0));
        mainPanel.setLayout(new java.awt.GridBagLayout());
        scrollPane.setViewportView(mainPanel);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.weighty = 1.0;
        getContentPane().add(scrollPane, gridBagConstraints);

        loginPanel.setBackground(new java.awt.Color(0, 0, 0));
        loginPanel.setLayout(new java.awt.GridBagLayout());

        welcomeLabel.setForeground(new java.awt.Color(255, 255, 255));
        welcomeLabel.setText("Welcome, User");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.ipadx = 10;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
        gridBagConstraints.weightx = 1.0;
        loginPanel.add(welcomeLabel, gridBagConstraints);

        topButton1.setForeground(new java.awt.Color(255, 102, 0));
        topButton1.setText("Button 1");
        topButton1.setBorderPainted(false);
        topButton1.setContentAreaFilled(false);
        topButton1.setMargin(new java.awt.Insets(0, 0, 0, 0));
        topButton1.setMaximumSize(new java.awt.Dimension(88, 10));
        topButton1.setMinimumSize(new java.awt.Dimension(10, 10));
        topButton1.setPreferredSize(new java.awt.Dimension(84, 18));
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.ipadx = 10;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
        loginPanel.add(topButton1, gridBagConstraints);

        topButton2.setForeground(new java.awt.Color(255, 102, 0));
        topButton2.setText("Button 2");
        topButton2.setBorderPainted(false);
        topButton2.setContentAreaFilled(false);
        topButton2.setMargin(new java.awt.Insets(0, 0, 0, 0));
        topButton2.setMaximumSize(new java.awt.Dimension(88, 10));
        topButton2.setMinimumSize(new java.awt.Dimension(10, 10));
        topButton2.setPreferredSize(new java.awt.Dimension(84, 18));
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.ipadx = 10;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
        loginPanel.add(topButton2, gridBagConstraints);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.gridwidth = 3;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.ipady = 10;
        getContentPane().add(loginPanel, gridBagConstraints);

        logoPanel.setBackground(new java.awt.Color(0, 0, 0));
        logoPanel.setLayout(new java.awt.GridBagLayout());
        logoPanel.add(filler2, new java.awt.GridBagConstraints());

        logoButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/resources/banner.png"))); // NOI18N
        logoButton.setBorder(null);
        logoButton.setBorderPainted(false);
        logoButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                logoButtonActionPerformed(evt);
            }
        });
        logoPanel.add(logoButton, new java.awt.GridBagConstraints());

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridy = 0;
        gridBagConstraints.gridwidth = 3;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.weightx = 1.0;
        getContentPane().add(logoPanel, gridBagConstraints);

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void scrollPaneCaretPositionChanged(java.awt.event.InputMethodEvent evt) {//GEN-FIRST:event_scrollPaneCaretPositionChanged
        
    }//GEN-LAST:event_scrollPaneCaretPositionChanged

    private void logoButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_logoButtonActionPerformed
        pc.switchToPanel(SearchScholarshipPanel.class, null);
    }//GEN-LAST:event_logoButtonActionPerformed

    public static void main(String args[]) {
        
        // Main Method
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new MainFrame().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.Box.Filler filler1;
    private javax.swing.Box.Filler filler2;
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JPanel loginPanel;
    private javax.swing.JButton logoButton;
    private javax.swing.JPanel logoPanel;
    private javax.swing.JPanel mainPanel;
    private javax.swing.JPanel menuButtonsPanel;
    private javax.swing.JPanel menuPanel;
    private javax.swing.JScrollPane scrollPane;
    private javax.swing.JButton topButton1;
    private javax.swing.JButton topButton2;
    private javax.swing.JLabel welcomeLabel;
    // End of variables declaration//GEN-END:variables
}
